/**
 * Copyright (c) 2016-2019 人人开源 All rights reserved.
 * <p>
 * https://www.renren.io
 * <p>
 * 版权所有，侵权必究！
 */

package io.renren.common.utils;

/**
 * 常量
 *
 * @author Mark sunlightcs@gmail.com
 */
public class Constant {
    /** 超级管理员ID */
    public static final int SUPER_ADMIN = 1;
    /** 数据权限过滤 */
    public static final String SQL_FILTER = "sql_filter";
    /**
     * 当前页码
     */
    public static final String PAGE = "page";
    /**
     * 每页显示记录数
     */
    public static final String LIMIT = "limit";
    /**
     * 排序字段
     */
    public static final String ORDER_FIELD = "sidx";
    /**
     * 排序方式
     */
    public static final String ORDER = "order";
    /**
     *  升序
     */
    public static final String ASC = "asc";

    /**
     * 菜单类型
     */
    public enum MenuType {
        /**
         * 目录
         */
        CATALOG(0),
        /**
         * 菜单
         */
        MENU(1),
        /**
         * 按钮
         */
        BUTTON(2);

        private int value;

        MenuType(int value) {
            this.value = value;
        }

        public int getValue() {
            return value;
        }
    }

    /**
     * 定时任务状态
     */
    public enum ScheduleStatus {
        /**
         * 正常
         */
        NORMAL(0),
        /**
         * 暂停
         */
        PAUSE(1);

        private int value;

        ScheduleStatus(int value) {
            this.value = value;
        }

        public int getValue() {
            return value;
        }
    }

    /**
     * 云服务商
     */
    public enum CloudService {
        /**
         * 七牛云
         */
        QINIU(1),
        /**
         * 阿里云
         */
        ALIYUN(2),
        /**
         * 腾讯云
         */
        QCLOUD(3);

        private int value;

        CloudService(int value) {
            this.value = value;
        }

        public int getValue() {
            return value;
        }
    }

    /**
     * 字典名称
     */
    public enum SysDictCode {
        ESL_TEMPLATE("EslTemplate"),
        MEETING_URL("MeetingUrl");

        private String value;

        SysDictCode(String value) {
            this.value = value;
        }

        public String getValue() {
            return value;
        }
    }

    /**
     * 字典名称
     */
    public enum SysDictName {
        ESL_WORKING_URL("EslWorkingUrl"),
        TEMPLATE_MEETING_ROOM("MeetingRoom"),
        TEMPLATE_MEETING_BADGE("MeetingBadge"),
        MEETING_HOMEPAGE("HomePage");

        private String value;

        SysDictName(String value) {
            this.value = value;
        }

        public String getValue() {
            return value;
        }
    }

    public static String BIND_AP_URI = "/user/aps";
    public static String UNBIND_AP_URI = "/user/ap";
    public static String REFRESH_ESL_URI = "/esls";

    /**
     *  会议室状态
     */
    public enum RoomState {
        UNUSEABLE("不可用"),
        USEABLE("可用"),
        IDLE("空闲室"),
        USING("会议中");

        private String value;

        RoomState(String value) {
            this.value = value;
        }

        public String getValue() {
            return value;
        }
    }

    /**
     * 会议室时段状态
     */
    public enum RoomTimeState {
        UNUSEABLE("不可用"),
        BOOKED("已约"),
        USEABLE("可约");

        private String value;

        RoomTimeState(String value) {
            this.value = value;
        }

        public String getValue() {
            return value;
        }
    }

    /**
     *  会议状态
     */
    public enum ApplicationState {
        APPLIED("applied"),
        STARTED("started"),
        OVER("over");

        private String value;

        ApplicationState(String value) {
            this.value = value;
        }

        public String getValue() {
            return value;
        }
    }

    /**
     *  签到状态
     */
    public enum SignInState {
        NOTSIGNIN("notSignIn"),
        SIGNIN("signIn");

        private String value;

        SignInState(String value) {
            this.value = value;
        }

        public String getValue() {
            return value;
        }
    }

    public static String ESL_REFRESH_TYPE_UPDATE_ACK = "ESL_UPDATE_ACK";

    public static final String EW_CALL_BACK_URL = "http://159.75.242.167:8081/api/ew/eslRefreshResult";

    public static final Integer HAS_REFRESHED = 1;

}
